/****************************************************
  @Title: 数据结构实验
  @Name: <实验7-1> 图的遍历
  @Object:
      [实验目的]
          实现图的存储结构；
          实现图的深度优先和广度优先遍历
      [实验提示]
          1. 在 graph.h 中实现图的基本操作
          2. 在 graph.h 中实现图的深度优先遍历和广度
             优先遍历           
  @Include:
      ds.h
          类C通用模块
      graph.h [*]
          图的实现
  @Usage:
      请查看"TO-DO列表",根据要求完成代码
  @Copyright: BTC 2004, Zhuang Bo
  @Author: Zhuang Bo
  @Date: 2004
  @Description:
*****************************************************/

#include <stdio.h>
#include <stdlib.h> //for system()
#include "ds.h"
#include "graph.h"

Status printvex(VexType val); //访问顶点的函数 

int main()
{
    MGraph g;
    
    //建立图
    CreateGraph(g);
    //printf("\n邻接矩阵:\n"); 
    //PrintAdjMatrix(g); //打印邻接矩阵 
    
    //深度优先和广度优先遍历图
    printf("\n深度优先遍历:\n"); 
    DFSTraverse(g,0,printvex); //从顶点0开始
    printf("\n广度优先遍历:\n"); 
    BFSTraverse(g,0,printvex);
    
    //销毁图
    DestroyGraph(g);    

    system("pause"); //暂停
}

//打印顶点 
Status printvex(VexType val)
{
    write(val);
    return OK;
}

